package com.cskaoyan._06operate._01travser;

import java.util.Arrays;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/1 16:17
 **/
/*
增强for循环(迭代器)

语法:
    for(数据类型 变量名: 数组名){
        // 代码
        // ......
    }
语法中的各个部分：
1. 数据类型是要遍历数组或集合中元素的数据类型。比如遍历`int`数组，就应该填入`int`。
2. 从整个遍历的过程中看来，变量名就表示数组/集合中的某一个元素。整体就代表所有元素。


 **增强for和普通for遍历数组时的区别：**

1. 增强for的语法更简洁，并且遍历效率也会更高一点。
2. 增强for循环中没有使用数组下标，而是直接遍历元素。
当你想要在循环中使用数组下标时，就无法使用增强for了。
3. 增强for也叫迭代器（iterator），它仅仅作为一个遍历数组/集合的工具而存在，
 **在增强for当中是不能修改任何值;
 */
public class Demo3 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        // 增强for循环
        for (int i : arr) {
            System.out.println(i);
        }

        // 快捷键 数组名.for .iter
        //for (int i : arr) {
        //
        //}

        //for (int i : arr) {
        //
        //}

        // 能否使用增强for修改元素值
        // 不行
        for (int i : arr) {
            i *= 2;
        }

        System.out.println(Arrays.toString(arr));
        System.out.println("-----------");

        // 通过下标改
        for (int i = 0; i < arr.length; i++) {
            arr[i] *= 2;
        }
        System.out.println(Arrays.toString(arr));


    }
}
